package com.example.springt334;

import com.example.springt334.dao.Ink;
import com.example.springt334.dao.Pager;

/**
 * 打印机程序
 * 面向接口编程，而不是具体的实现类
 */
public class Printer {
    private Ink ink=null;
    private Pager pager=null;

    /**
     * 打印方法
     * @param message   要打印内容
     */
    public void print(String message){
        //输出颜色标记
        System.out.println("使用"+ink.getColor(255,200,0)+"颜色打印：\n");
        //逐字符输出到纸张
        for (int i = 0; i < message.length(); i++) {
            pager.putInChar(message.charAt(i));
        }
        //将纸张的内容输出
        System.out.print(pager.getContent());
    }

    /**
     * 设值注入所需的setter方法
     * @param ink   墨盒
     */
    public void setInk(Ink ink){
        this.ink=ink;
    }

    /**
     * 设值注入所需的setter方法
     * @param pager 纸张
     */
    public void setPager(Pager pager){
        this.pager=pager;
    }
}
